package com.tbit.uqbike.service.business.impl;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;

import com.tbit.uqbike.object.pojo.VoiceType;
import com.tbit.uqbike.service.business.IVoiceTypeService;
import com.tbit.uqbike.webmanager.dao.core.VoiceTypeDao;
import com.tbit.uqbike.webmanager.util.DateUtils;
import com.tbit.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 语音类型Service业务层处理
 *
 * @author zbr
 * @date 2023-11-02
 */
@Service
public class VoiceTypeServiceImpl implements IVoiceTypeService {
    @Autowired
    private VoiceTypeDao voiceTypeDao;

    /**
     * 查询语音类型
     *
     * @param voiceId 语音类型主键
     * @return 语音类型
     */
    @Override
    public VoiceType selectVoiceTypeByVoiceId(Integer voiceId) {
        return voiceTypeDao.selectVoiceTypeByVoiceId(voiceId);
    }

    /**
     * 查询语音类型列表
     *
     * @param voiceType 语音类型
     * @return 语音类型
     */
    @Override
    public List<VoiceType> selectVoiceTypeList(VoiceType voiceType) {
        return voiceTypeDao.selectVoiceTypeList(voiceType);
    }


    //查询页面
    @Override
    public List<VoiceType> queryPage(VoiceType voiceType, int rowCount, int pageNO) {
        int start = (pageNO - 1) * rowCount;
        return voiceTypeDao.queryPage(voiceType, start, rowCount);
    }

    //查询总数
    @Override
    public int queryCount(VoiceType voiceType) {
        return voiceTypeDao.queryCount(voiceType);
    }

    /**
     * 新增语音类型
     *
     * @param voiceType 语音类型
     * @return 结果
     */
    @Override
    public int insertVoiceType(VoiceType voiceType) {
        Date now = new Date(); // 获取当前日期和时间
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期时间格式
        String formattedDate = formatter.format(now); // 格式化日期时间
        Date updateTime;
        try {
            updateTime = formatter.parse(formattedDate);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        voiceType.setCreatTime(updateTime);
        return voiceTypeDao.insertVoiceType(voiceType);
    }

    /**
     * 修改语音类型
     *
     * @param voiceType 语音类型
     * @return 结果
     */
    @Override
    public int updateVoiceType(VoiceType voiceType) {
        Date now = new Date(); // 获取当前日期和时间
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 定义日期时间格式
        String formattedDate = formatter.format(now); // 格式化日期时间
        Date updateTime;
        try {
            updateTime = formatter.parse(formattedDate);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        voiceType.setUpdataTime(updateTime);
        return voiceTypeDao.updateVoiceType(voiceType);
    }

    /**
     * 批量删除语音类型
     *
     * @param voiceIds 需要删除的语音类型主键
     * @return 结果
     */
    @Override
    public int deleteVoiceTypeByVoiceIds(List<Integer> voiceIds) {
        return voiceTypeDao.deleteVoiceTypeByVoiceIds(voiceIds);
    }

    /**
     * 删除语音类型信息
     *
     * @param voiceId 语音类型主键
     * @return 结果
     */
    @Override
    public int deleteVoiceTypeByVoiceId(Integer voiceId) {
        return voiceTypeDao.deleteVoiceTypeByVoiceId(voiceId);
    }
}
